package com.sdy.supermarket.biz.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sdy.common.model.FileObj;
import com.sdy.common.utils.DateUtil;
import com.sdy.supermarket.biz.model.GsRes;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;

@Data
@Accessors(chain = true)
public class ResSimpleVO {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Integer id;

    /**
     * 名称
     */
    private String name;

    /**
     * 分类
     */
    private Integer category;

    /**
     * 类型 1-工具 2-平台 3-服务
     */
    private Integer type;

    /**
     * 描述
     */
    private String description;

    /**
     * 图标
     */
    private String icon;

    /**
     * 图标文件信息
     */
    private FileObj iconInfo;

    /**
     * 热门资源。0 否 1 是
     */
    private Integer popular;

    /**
     * 状态 0-待上线 1-上线 2-下架
     */
    private Integer state;

    /**
     * 常用 0-否 1-是
     */
    private Integer commonUse;

    /**
     * 分类描述
     */
    private String categoryStr;

    /**
     * 厂商
     */
    private String manufacturer;

    /**
     * 厂商链接
     */
    private String manufacturerUrl;

    /**
     * 来源
     */
    private String resSource;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = DateUtil.DATETIME_FORMAT)
    private Date modifyTime;

    public static ResSimpleVO format(GsRes gsRes) {
        if (gsRes == null) {
            return null;
        }
        return new ResSimpleVO()
                .setId(gsRes.getId())
                .setCategory(gsRes.getCategory())
                .setDescription(gsRes.getDescription())
                .setIcon(gsRes.getIcon())
                .setIconInfo(gsRes.getIconInfo())
                .setName(gsRes.getName())
                .setPopular(gsRes.getPopular())
                .setState(gsRes.getState())
                .setResSource(gsRes.getResSource())
                .setModifyTime(gsRes.getModifyTime())
                .setManufacturer(gsRes.getManufacturer())
                .setManufacturerUrl(gsRes.getManufacturerUrl())
                .setType(gsRes.getType());
    }
}
